package com.geniusk.service;

import com.geniusk.model.pojo.ChatMsg;
import com.geniusk.model.vo.MessageVO;

import java.util.List;

public interface ChatMsgService {

    /**
     * 查询未读消息数量
     * @param userId 用户ID
     * @return 消息数量
     */
    int selectUnreadMsgCountByUserId(Long userId);

    /**
     * 查询消息列表
     * @param userId 用户ID
     * @return 消息列表
     */
    List<MessageVO> selectMsgListByUserId(Long userId);

    /**
     * 查询聊天信息分页数据
     * @param chatMsg 查询条件
     * @return 分页数据
     */
    List<ChatMsg> selectChatMsgByPage(ChatMsg chatMsg);

    /**
     * 新增聊天信息
     *
     * @param chatMsg 设备信息
     */
    void insertChatMsg(ChatMsg chatMsg);

    /**
     * 签收消息
     * @param ids 聊天信息ID
     * @return 签收行数
     */
    int signChatMsgByIds(Long[] ids);

    /**
     * 根据消息ID查询消息
     * @param msgId 消息ID
     * @return 消息
     */
    ChatMsg selectChatMsgById(Long msgId);

    /**
     * 发送消息删除
     * @param ids 聊天信息ID
     * @return 删除行数
     */
    int sendDeleteByIds(Long[] ids);

    /**
     * 接收消息删除
     * @param ids 聊天信息ID
     * @return 删除行数
     */
    int receiveDeleteByIds(Long[] ids);
}
